package com.tedu.day02.oop;

/**
 * this关键字---super关键字--使用完全一致
 * this 不需要继承--当前类
 * 使用方式：调取当前的方法，属性，构造器
 *         this.属性      【给当前属性赋值】
 *                         出现在构造器方法当中
 *                         区别当前类的属性和参数一致的情况
 *         this.方法
 *         this()          当前类下多个有参构造器
 *
 *  题：this和super区别:
 *     this调用本类的方法和构造器，super调用父类的方法和构造器
 *     this()和super()--传递参数，赋值
 *     this()调用本类的其他构造器----构造器的首行
 *     super()调用父类的其他构造器----子类构造器的首行
 *     this()和super无法在同一构造器中出现，
 *
 */
public class this关键字 {
    int i;
    int j; //属性，声明未赋值

    public this关键字(int i, int j) {
        this.i = i;
        this.j = j;
    }

    public this关键字(int i) {
        this(2,3);
        this.i = i;   //常见 this.属性【当前类的属性】=参数
                      //赋值操作 this.i=1;
    }
    //方法--this.方法
    public void testI(){

        System.out.println("我是I");
    }
    public void testJ(){//调取--我是I，我是J
       this.testI();
        System.out.println("我是J");
    }
    public static void main(String[] args) {
        System.out.println(new this关键字(1).i);
       // new this关键字(1).testJ();

    }
}
